Code First Migrations Entity Framework (EF) এর একটি শক্তিশালী ফিচার যা ডেটাবেসের কাঠামোকে কোডের মাধ্যমে পরিচালনা করার সুযোগ দেয়। সাধারণত, Code First অ্যাপ্রোচে আপনি প্রথমে কোড লেখেন (ক্লাস, মডেল ইত্যাদি) এবং তারপর EF এই কোড থেকে ডেটাবেস তৈরি করে। তবে, যখন আপনার মডেল (কোড) এবং ডেটাবেসের কাঠামোতে পরিবর্তন আসে, তখন Code First Migrations ব্যবহৃত হয় সেই পরিবর্তনগুলি ডেটাবেসে প্রতিফলিত করতে।
এটি একটি কোড ভিত্তিক ডেটাবেস আপডেট পদ্ধতি, যা আপনাকে ডেটাবেস স্কিমা (structure) পরিবর্তনের জন্য কোনো SQL স্ক্রিপ্ট লিখতে হয় না। পরিবর্তে, EF এর মাইগ্রেশন সিস্টেম নিজেই কোডের মধ্যে ডিফাইন করা মডেল এবং ডেটাবেসের মধ্যে পার্থক্য খুঁজে বের করে এবং সেই অনুযায়ী ডেটাবেস আপডেট করে।
প্রথমত, আপনাকে আপনার প্রজেক্টে মাইগ্রেশন সক্রিয় করতে হবে। এটি করতে আপনি Visual Studio এর Package Manager Console (PMC) ব্যবহার করতে পারেন।
Enable-Migrations
এটি একটি Migrations
ফোল্ডার তৈরি করবে, যেখানে মাইগ্রেশন সম্পর্কিত সব ফাইল থাকবে।
মডেলে কোনো পরিবর্তন করার পর (যেমন নতুন ক্লাস বা প্রোপার্টি যোগ করা), একটি নতুন মাইগ্রেশন তৈরি করতে হবে। এই কাজটি Add-Migration কমান্ড দিয়ে করা হয়। আপনি কমান্ডে মাইগ্রেশনটির একটি নাম দিতে পারেন, যেমন "AddCustomerTable" বা "UpdateProductSchema" ইত্যাদি।
Add-Migration AddCustomerTable
এই কমান্ডটি একটি নতুন মাইগ্রেশন ফাইল তৈরি করবে, যা আপনার মডেল পরিবর্তনের জন্য প্রয়োজনীয় কোড ধারণ করবে। মাইগ্রেশন ফাইলে আপনি প্রাথমিক এবং নতুন ডেটাবেস কাঠামোর পার্থক্য দেখতে পাবেন।
এখন আপনি Update-Database কমান্ড দিয়ে ডেটাবেসে পরিবর্তনগুলি প্রয়োগ করতে পারবেন। এই কমান্ডটি মাইগ্রেশন ফাইল থেকে SQL স্ক্রিপ্ট তৈরি করে ডেটাবেসে সংশোধন প্রয়োগ করে।
Update-Database
এটি ডেটাবেসের কাঠামোকে নতুন মডেল অনুযায়ী আপডেট করবে। যদি পূর্ববর্তী মাইগ্রেশনগুলির কোন সমস্যা থাকে, তবে আপনি -TargetMigration
অপশন ব্যবহার করে নির্দিষ্ট মাইগ্রেশন নির্বাচন করতে পারেন।
যদি কোনো কারণে আপনার মাইগ্রেশনটি সমস্যা তৈরি করে বা আপনি পূর্ববর্তী অবস্থায় ফিরে যেতে চান, তাহলে Update-Database কমান্ডে -TargetMigration
ব্যবহার করে রোলব্যাক করা যেতে পারে।
Update-Database -TargetMigration: "InitialCreate"
এটি ডেটাবেসকে পূর্ববর্তী মাইগ্রেশন পয়েন্টে ফিরিয়ে নিয়ে যাবে।
Code First Migrations Entity Framework এর একটি গুরুত্বপূর্ণ ফিচার যা ডেটাবেসের কাঠামো পরিবর্তন এবং আপডেটের প্রক্রিয়াকে সহজ, কার্যকর এবং নিয়ন্ত্রণযোগ্য করে তোলে। এটি কোড পরিবর্তন থেকে ডেটাবেস আপডেট করার কাজটি স্বয়ংক্রিয়ভাবে করে, যা ডেভেলপারদের জন্য অনেক সুবিধা প্রদান করে।
common.read_more